package com.cy;

import com.cy.entity.HelloWorld;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * singleton 是 Spring 容器默认的作用域。
 * 当 Bean 的作用域为 singleton 时，Spring 容器中只会存在一个共享的 Bean 实例。
 * 该 Bean 实例将存储在高速缓存中，并且所有对 Bean 的请求，只要 id 与该 Bean 定义相匹配，都会返回该缓存对象。
 */
public class MainApp2Singleton {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("Beans2Singleton.xml");
        HelloWorld objA = (HelloWorld) context.getBean("helloWorld");
        objA.setMessage("对象A");
        objA.getMessage();
        HelloWorld objB = (HelloWorld) context.getBean("helloWorld");
        objB.getMessage();
    }
}
